Cloud computing is not a kind of new technology. It is a concept based on application of computer techniques and develops to an aspect of exchange over internet. The term of cloud means internet. Cloud computing is the use of internet communication and computing tasks via multiple computers, or access to services provided by the remote host over a network connection. Cloud computing was first proposed by Amazon. Google and Microsoft followed up due to internet shopping platform.
Cloud computing is a new application of distributed computing. A request, maybe a large arithmetic processing program, is automatically split into numerous smaller subroutines and the subroutines are treated by a large system consisting of a number of servers via internet. After searching, operating and analyzing, the system sends a result of the request back to the end user. Through this technology, network service providers can handles tens of millions or even billions of information to achieve network services with equally strong performance as a super computer within seconds.
Cloud computing is a shared IT infrastructure, just like a huge virtual server. Numbers of computer systems are linked into a large resource library to providing IT services. Because cloud computing utilizes virtual resources, it is not restricted by distal or proximal computer hardware. Cloud computing has strong demand for storage capacity. Therefore, it will drive the requirement for Redundant Array of Independent Disks (RAIDs).
According to different services supported by cloud computing and targets that the services are provided to, many cloud environments can be defined. For example, private cloud, public cloud, community cloud and hybrid cloud are available on internet. Although the clouds may not identical in operation system, capacity, service target and resources, it is a trend that some clouds can be integrated to provide wider services or share their resources. Open-sourced projects or software to achieve the goal mentioned above are available nowadays. Openstack is one of the examples.
With the development of the open source cloud computing platforms for all clouds, there are still some hardware problems that need to be settled, for example, compatibility of hardware to the cloud. For a computing node environment, it generally provides common application programming interfaces (APIs) for a device (e.g., a hard disk and a device driver for it on Windows platform). Each device vendor needs to implement the device driver supporting the API to provide the device service. However, if the device driver needs to extend services and/or the computing node environment changes (e.g., upgrade of Windows platform to a new version), there is too much work for each individual vendor in rewriting the device driver. The aforementioned problem is just happened in one single platform (operation system). If the problem is concerning another “cloud”, it becomes more complex to solve.
Meanwhile, there are many electric equipment that are “smart”. It means the electric equipment was stand-alone before but it can be driven by a Central Processing Unit (CPU) and linked to internet for remote control now. For instance, a cloud printing machine. Possibly, a home appliance, such as a refrigerator, can be controlled by cloud users. Compatible APIs for the CPU or the computing node that electric equipment is linked should be available for every related cloud environments. The application of new electric equipment in the cloud may need to have new API or utilize an existing and functionally-like API to modify. It encounters similar problems as illustrated above.
Although cloud computing can provide convenient and powerful services, compatibility of related hardware in a cloud environment is the first issue before the whole clouds works with one another. It is desired to have a way to encapsulate necessary functions for APIs for services devices in a cloud environment.